package com.atmilan.quartz.model.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.atmilan.quartz.model.entity.buyer.BuyerProductSkuMerged;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author hupeng
 * @since 2020-04-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class BuyerProductDO extends Model<BuyerProductDO>{

    private static final long serialVersionUID = 1L;

    /**
     * 商品ID
     */
    private String goodsId;

    /**
     * 商品名称
     */
    private String goodsName;

    /**
     * 品牌ID
     */
    private String brandId;

    /**
     * 供应商id：
     * 2是易时尚
     * 37, 136 是创蓝
     * 42是Muse
     * 21是巴黎春天
     */
    private Integer suppliersId;

    /**
     * 供应商名称
     */
    private String suppliersName;

    /**
     * 品牌名称
     */
    private String brandName;

    /**
     * 品牌图片
     */
    private String brandLogo;

    /**
     * 欧洲原价
     */
    private String originalPrice;

    /**
     * 销售价格
     */
    private String salePrice;

    /**
     * ERP成本价格
     */
    private String erpPrice;

    /**
     * 原ERP成本价格
     */
    @TableField(exist = false)
    private String sourceCost;

    /**
     * 销售活动价格标识
     *
     */
    private Boolean promoteFlag;

    /**
     * ERP成本活动价格标识
     *
     */
    private Boolean erpPromFlag;

    /**
     * ERP成本活动价格
     */
    private String erpPromPrice;
    /**
     * 销售活动名称
     */
    private String promoteName;

    /**
     * 销售活动价格
     */
    private String promotePrice;

    /**
     * 销售活动开始时间
     */
    private String promoteStartDate;

    /**
     * 销售活动结束时间
     */
    private String promoteEndDate;

    /**
     * 缩略图
     */
    private String goodsImg;

    /**
     * 商品SKU编码
     */
    private String goodsSku;

    /**
     * 分类ID
     */
    private Integer catId;

    /**
     * 分类名称
     */
    private String catName;

    /**
     * 现货位置（1为国内，2是香港）
     */
    private Integer stockArea;

    /**
     * 商品编码
     */
    private String goodsCode;

    /**
     * 商品材质
     */
    private String goodsCaizhi;

    /**
     * 更新时间(时间戳 秒)
     */
    private String lastUpdate;

    /**
     * 商品相册
     */
    private String gallery;

    /**
     * 分类（男士、女士）
     */
    private String topCat;

    /**
     * 商品采集时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    private Date createTime;

    /**
     * 商品更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd  HH:mm:ss")
    private Date editTime;

    @TableField(exist = false)
    private String opsType;

    @Override
    protected Serializable pkVal() {
        return this.goodsId;
    }

    /**
     * 运费
     */
    private Integer shippingFee;
    /**
     *
     * 更新标记, 0 未改变 1 新增，2 更新
     */
    private Integer updateFlag;

    @TableField(exist = false)
    private List<BuyerProductSkuMerged> skuList;

    @TableField(exist = false)
    private Integer isEurope;

    @TableField(exist = false)
    private Integer stock;
    /**
     *价格
     */
    @JsonProperty(value = "price")
    private BigDecimal price;
    /**
     *建议价格
     */
    @JsonProperty(value = "reference_price")
    private BigDecimal referencePrice;
    /**
     * code
     */
    @JsonProperty(value = "code")
    private String Code;
    /**
     *类目ID
     */
    @JsonProperty(value = "category_id")
    private Integer categoryId;
    /**
     *供应商ID
     */
    @JsonProperty(value = "supplier_id")
    private Integer supplierId;
    
}
